package com.javasm.service.MisMannageService;


import com.javasm.entity.MisMannageEntity.ProdInfo;
import com.javasm.entity.MisMannageEntity.User;

import java.util.List;

/**
 * @author:JAVASM
 * @description:
 * @date:2022/5/23 21:17
 * @version:0.1
 * @since:jdk11
 */
public interface ProdService {
    /**
     * 分页查询+条件查询
     * @param page 当前第几页
     * @param pageSize 每页显示的记录数
     * @param queryProd 产品名称模糊查询  审核状态，产品类型精准查询
     * @return 查到的产品信息
     */
    List<ProdInfo> getProdByPage(Integer page, Integer pageSize, ProdInfo queryProd, Integer userId);

    /**
     * 查询产品总记录数
     * @return 产品总记录数
     * @param queryProd 产品名称模糊查询  审核状态，产品类型精准查询
     */
    Integer prodTotalNum(ProdInfo queryProd, Integer userId);

    /**
     * 新增产品信息
     * @param insertProd 新增产品信息
     * @return 新增成功的记录条数
     */
    Integer insertProd(ProdInfo insertProd);

    /**
     * 找除自己之外的基金经理
     * @param userId 当前登录的用户编号
     * @return 除当前登录的用户之外的基金经理
     */
    List<User> getUserToAudit(Integer userId);

    /**
     * 根据产品编号新增净值信息(修改)
     * @param assetProd 产品编号，新增净值信息(修改)
     * @return 新增(修改)成功的记录条数
     */
    Integer insertAsset(ProdInfo assetProd);

    /**
     * 根据产品编号修改产品信息
     * @param updateProd 产品信息，修改后的产品信息
     * @return 修改成功的记录条数
     */
    Integer editProd(ProdInfo updateProd);

    /**
     * 根据产品编号找产品信息
     * @param queryProdId 产品编号
     * @return 产品信息
     */
    ProdInfo getProdById(Integer queryProdId);

    /**
     * 根据审核人编号找审核人姓名
     * @param reviewerId 审核人编号
     * @return 审核人姓名
     */
    String getReviewerName(Integer reviewerId);


    /**
     * 根据产品编号该审核状态
     * @param setStatusProdId 产品编号
     * @param isPass 是否通过
     * @return 更改成功的记录数
     */
    //Integer setAuditStatus(Integer setStatusProdId, String isPass);

}
